home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9610 / 000101_owner-urn-ietf _Thu Oct 24 15:38:28 1996.msg < prev    next >
Internet Message Format  |  1997-02-19  |  6KB

  1. Received: (from daemon@localhost) by services.bunyip.com (8.6.10/8.6.9) id PAA18135 for urn-ietf-out; Thu, 24 Oct 1996 15:38:28 -0400
  2. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1]) by services.bunyip.com (8.6.10/8.6.9) with SMTP id PAA18126 for <urn-ietf@services.bunyip.com>; Thu, 24 Oct 1996 15:38:22 -0400
  3. Received: from josef.ifi.unizh.ch by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  4.         id AA29063  (mail destined for urn-ietf@services.bunyip.com); Thu, 24 Oct 96 15:38:17 -0400
  5. Received: from ifi.unizh.ch by josef.ifi.unizh.ch 
  6.           id <01446-0@josef.ifi.unizh.ch>; Thu, 24 Oct 1996 21:38:20 +0100
  7. Subject: Re: [URN] UNICODE or not UNICODE?
  8. To: paf@swip.net
  9. Date: Thu, 24 Oct 1996 21:38:19 +0100 (MET)
  10. Cc: urn-ietf@bunyip.com, splinter@bunyip.com
  11. In-Reply-To: <v03007802ae94cf233d55@[192.71.220.137]> from "Patrik Faltstrom" at Oct 24, 96 11:08:19 am
  12. Mime-Version: 1.0
  13. Content-Type: text/plain; charset=US-ASCII
  14. Content-Transfer-Encoding: 7bit
  15. Content-Length: 4139
  16. From: Martin J Duerst <mduerst@ifi.unizh.ch>
  17. Message-Id: <"josef.ifi..471:24.09.96.20.38.21"@ifi.unizh.ch>
  18. Sender: owner-urn-ietf@services.bunyip.com
  19. Precedence: bulk
  20. Reply-To: Martin J Duerst <mduerst@ifi.unizh.ch>
  21. Errors-To: owner-urn-ietf@bunyip.com
  22.  
  23. >
  24. >Terry wrote
  25. >> - why care?  the NSS is supposed to be opaque
  26. >> - does this imply that a) NSSs should be formed originally
  27. >>   in Unicode, or that b) NSSs in other coded character sets
  28. >>   must be translated/transliterated into Unicode in forming
  29. >>   URNs, or c) something else?
  30. >
  31. >The problem with not defining a character set is that it will
  32. >be impossible to do any comparison between two URNs. We need to have
  33. >some ability to do comparisons, and the only reasonable way of doing that
  34. >is to use _one_ character set.
  35. >
  36. >To answer the second question, you have to have a urn in a different
  37. >character set in some cases, for example in a client which does not
  38. >use UNICODE. You then have to do translation.
  39. >
  40. >What we did in Digger, the Whois++ server Bunyip has, was using the
  41. >rules for comparison (decomposition + sorting) and translation rules
  42. >that the UINCODE consortium have defined.
  43. >
  44. >The UNICODE tables include for each character one kind of equivalence
  45. >which is the rule for decomposition of that code point in UNICODE
  46. >into more than one other code point. One example, the letter '=C4'.
  47. >
  48. >In UNICODE, this character is defined as:
  49. >
  50. >00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;
  51. >     LATIN CAPITAL LETTER A DIAERESIS;;;00E4;
  52. >
  53. >One can here see that the codepoint, U+00C4, is equivalent to U+0041
  54. >followed by U+0308. One can also see that the lower case version of this
  55. >character is U+00E4 (among other things).
  56. >
  57. >When comparing two strings, and one of them include "U+00C4"
  58. >and the other one the sequence "U+0041"+"U+0308" these strings
  59. >should be considered equal in the sense of the UNICODE spec.
  60. >
  61. >Note that I am not talking about ISO-10646 here, as I am not at all
  62. >familiar with what parts of this is included in the 10646 spec. This
  63. >is UNICODE 2.0 we are talking about!
  64.  
  65. ISO 10646 does not define any such equivalences, but also in other
  66. cases defines much less charcter properties and semantics.
  67.  
  68. >This means that before comparing the strings that include "U+00C4"
  69. >and "U+0041"+"U+0308", all code points have to be decomposed into its
  70. >maximal decomposition possible. I.e. "U+00C4" have to be changed to
  71. >"U+0041"+"U+0308", and these have to be sorted (i.e. one can know
  72. >from the code tables that "U+0041" is to be before "U+0308" in
  73. >a composed character).
  74.  
  75. Sorting really only occurs on diacritics; the base character
  76. (A or U+0041 here) is not involved. Sorting is necessary becaus
  77. you can have A with X on top and Y below, which you can encode
  78. as AXY or AYX. Sorting is restricted because you can have X
  79. and Z with both go on top, and in this case AXZ means Z atop
  80. X (atop A), and AZX means X atop Z, and these two are not
  81. equivalent.
  82.  
  83.  
  84. >THEN we do the comparison codepoint by codepoint.
  85. >
  86. >If we wanted to do case insensitive matching, we use the information
  87. >from the UNICODE consortium about what is a lower case character.
  88.  
  89. Well, with case we get into problems, as the correspondences
  90. supplied by Unicode work for almost all languages, but have
  91. some exceptions (e.g. Turkish). But case equivalence
  92. is not needed in the general urn syntax.
  93.  
  94.  
  95. >>or use Unicode code points that
  96. >>indicate glyph variants of a letter, such as 06AA, "Arabic
  97. >>Letter Swash Kaf," which is lexically the same as 0643,
  98. >>"Arabic Letter Kaf`" or specify some ligatures).
  99. >
  100. >I don't know Arabic, but I am just following the rules that
  101. >UNICODE consortioum have set up, and according to these
  102. >rules, U+06AA and U+0643 is not equivalent characters
  103. >when comparing:
  104. >
  105. >06AA;ARABIC LETTER SWASH KAF;Lo;0;R;;;;;N;ARABIC LETTER SWASH CAF;;;;
  106. >0643;ARABIC LETTER KAF;Lo;0;R;;;;;N;ARABIC LETTER CAF;;;;
  107. >
  108. >I am not arguing if this descision by the UNICODE consortium
  109. >was correct or not, but _someone_ that they trusted must have
  110. >told them these are different characters.
  111.  
  112. I don't know the use of swash kaf either, but I would assume
  113. that it is used as a special character in some languages,
  114. in some specific cases or to denote a different sound.
  115. This would mean that people who really want to use swash
  116. kaf in their unrs would not have a problem distinguishing
  117. it from the normal kaf.
  118.  
  119.  
  120. Regards,    Martin.